package com.coder4j.javafx;

import javafx.geometry.Insets;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import lombok.extern.slf4j.Slf4j;

/**
 * 主界面
 *
 * @author keller
 * @date 2024-8-20 14:24:45
 */
@Slf4j
public class IndexScene {
    /**
     * 主界面
     *
     * @param stage
     * @return
     */
    public BorderPane mainPane(Stage stage) {
        // 设置舞台的图标，增强应用程序的识别度
        BorderPane root = new BorderPane();
        root.setId("indexScene");

        Pane head = new MyHeader().init(stage);

        VBox top = new VBox(
               head
        );
        top.setSpacing(10);
        top.setPadding(new Insets(0, 0, 20, 0));
        root.setTop(top);

        WebView webView = new WebView();
        // 加载位于resources/static下的index.html
        WebEngine webEngine = webView.getEngine();
        webEngine.load("http://localhost:9990");
//        webView.getEngine().load("https:www.baidu.com");
        // 启用 JavaScript
        webEngine.setJavaScriptEnabled(true);

        // 注入标识变量
        webEngine.executeScript("window.isJavaFXApp = true;");

        // 设置用户代理
        webEngine.setUserAgent(webEngine.getUserAgent() + " JavaFX");

        // 启用 Canvas 支持
        com.sun.javafx.webkit.WebConsoleListener.setDefaultListener(
                (webView1, message, lineNumber, sourceId) ->
                        System.out.println("Console: [" + sourceId + ":" + lineNumber + "] " + message)
        );
        root.setCenter(webView);


        return root;
    }

}
